package com.neuedu.corejava.ch13;

import java.util.Random;

/**
 * <pre>
 * 线程类开发步骤：
 * 	1.编写一个类，继承java.lang.Thread
 * 	2.重写run方法，在run方法中编写程序的功能代码
 * 	3.执行时：实例化线程对象，并调用start方法启动线程
 * </pre>
 * 
 * @author admin
 *
 */
public class THreadDemo extends Thread {

	private int count = 0;

	@Override
	public void run() {
		while (count <= 10) {
			System.out.println(getId()+":"+count+++"\t");
			try {
				//线程休眠，时间单位是毫秒ms
				Thread.sleep(new Random().nextInt(2000));
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	
		System.out.println(getId()+":"+"子线程执行完毕");
	}
	public static void main(String[] args) {
		//1.新建线程
		THreadDemo tDemo=new THreadDemo();
		THreadDemo tDemo2=new THreadDemo();
		THreadDemo tDemo3=new THreadDemo();
		//线程的run方法可以用普通方法调用形式进行调用
		//tDemo.run();
		//tDemo2.run();
		//tDemo3.run();
		//2.启动线程调用start方法，线程启动后会进入线程池中等待执行，
		//3.线程执行的是run方法，
		//4.线程等待（线程中断）
		//5.run方法执行完毕则线程执行完毕
		tDemo.start();
		tDemo2.start();
		tDemo3.start();
		System.out.println("主线程执行完毕");
	
	}

}
